#ifndef __ATL_KRAMDISK__
#define __ATL_KRAMDISK__
#include <linked_list.h>
#include <cstdint.h>
#include "fs.h"
#include "config.h"
#define KRAMDISK_BLOCK_SIZE 512

typedef struct kramdisk_block {
	uint32_t block_id;
	uint16_t length;
	uint16_t offset;
} kramdisk_block_t;

typedef struct kramdisk_file {
	char name[CFG_FILENAME_LENGTH];
	uint32_t length;
	LLIST *blocks;
	vfs_node_t *node;
	//TODO: Add some mutex thingy here for open() and close()
} kramdisk_file_t;

typedef struct kramdisk_dir {
	char name[CFG_FILENAME_LENGTH];
	uint32_t length;
	LLIST *files;
	vfs_node_t *node;
} kramdisk_dir_t;

struct vfs_node * kramdisk_mkfs(char *name);
#endif